% -*- coding: utf-8 -*-
% ===================
%      ANNEXES
% ===================
%
%
\clearpage
\begin{appendix}
~\\
\vfill
\begin{center}
  \Huge{Annexes}
\end{center}
~\\
\vfill
\clearpage

\chapter{Organigramme}
Voici un organigramme simplifié, pour plus de détails sur chacune des 
\fhref{http://www.citi.insa-lyon.fr/teams/}{équipes}
\fhref{http://www.citi.insa-lyon.fr/teams/amazones/}{AMAZONES} et 
\fhref{http://www.citi.insa-lyon.fr/teams/swing/}{SWING} 
veuillez consulter la page web de l'équipe.
\begin{center}
	\includegraphics[width=\linewidth]{organigramme.png}
	\captionof{figure}{Organigramme}
	\label{annexe:orgra}
\end{center}

\chapter{Les opérateurs bas niveau en C}
\label{annexe:bithacks}
Le site web \footnote{\url{
http://www.cembedded.com/search/label/Bit\%20Operations\%20In\%20C\%20Language}} 
du document ne semble plus être fonctionnel donc j'inclus le document 
ci-dessous.
\includepdf[pages=-]{annexes/bit-operations.pdf}

\chapter{Comparaison d'implantation}
\label{annexe:comp}
Comparaison entre les 3 différentes implantations de l'instruction ADC qui 
additionne le contenu de deux registres en prenant en compte une retenu 
éventuelle en entrée.
\begin{enumerate}
  \item dans WSIM : \\
    \input{annexes/adc-wsim}
  \item dans GNU AVR Simulator : \\
    \input{annexes/adc-avrsim}
  \item dans Simulavr : \\
    \input{annexes/adc-simulavr}
\end{enumerate}

\chapter{Traduction de la doc dans un format pratique à utiliser}
\label{annexe:tradisa}

Dans la partie suivante, vous trouverez le document permettant de mieux 
visualiser l'ensemble des instructions avec leurs code en binaire.

Puis dans la page qui suit, je détail le travail que j'ai fait sur le 
regroupement d'instructions :
\begin{itemize}
  \item Dans le premier tableau, je remarque que pour identifier la famille des 
        instructions BSET et BCLR il faut prendre en compte en plus des 
        premiers huits bits de poids fort, les 4 bits de poids faible.
  \item Dans le deuxième tableau je remarque que sur les 4 bits qui reste,
        le premier bit code le type d'opération (un SET ou un CLR) et les 3 
        autres qui code le numéro des huits flags possibles.
\end{itemize}

Ceci m'a permis de regrouper toutes les opérations de type BSET et BCLR dans 
deux fonctions de manière à raccourcir la boucle, et de rendre le code plus
lisible.

\begin{center}
\includepdf[pages=-,offset=22mm 10mm]{annexes/cheatsheet-isa.pdf}
\includepdf[pages=-,offset=22mm 10mm]{annexes/cheatsheet-bset-bclr.pdf}
\end{center}
\end{appendix}
